﻿// 3592. 矩阵转置.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;
/*
https://www.acwing.com/problem/content/3595/


输入一个 N×N 的矩阵，将其转置后输出。

要求：不得使用任何额外数组(就地逆置)。

输入格式
第一行包括一个整数 N，代表矩阵的维数。

接下来的 N行每行有 N个整数，分别代表矩阵的元素。

输出格式
输出转置后的矩阵。

数据范围
1≤N≤100,
矩阵中元素取值范围 [1,100]。

输入样例：
3
1 2 3
4 5 6
7 8 9
输出样例：
1 4 7
2 5 8
3 6 9
*/

const int N = 200;
int matrix[N][N];
int n;

int main()
{
	cin >> n;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			cin >> matrix[j][i];
		}
	}

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			cout << matrix[i][j] << ' ';
		}
		cout << endl;
	}

	return 0;
}

 